1. Field of the Invention
The present invention relates generally to editing of stylesheets such as used in XSLT (extensible Style Language Transformations), and more specifically, to a stylesheet editor in which a user edits a stylesheet indirectly through interactions with a GUI (graphical user interface) representation of a model of the underlying stylesheet, as developed by the editor, rather than modifying directly the text of the stylesheet itself, thereby providing an overview and convenience to the user that is not available in conventional stylesheet editors.
2. Description of the Related Art
XSL (eXtensible Style Language) is a standard for an XML-compatible stylesheet language, published and maintained by a working group at the World Wide Web Consortium (W3C). XSLT (extensible Style Language Transformations) is one of the standards in XSL. XML (eXtensible Markup Language) is a pared-down, simplified version of SGML (Standard Generalized Markup Language) and is designed especially for Web documents to allow the use of SGML on the Web. SGML is a standard set of codes for marking boldface, italics, etc., in ASCII text files and became the basis for HTML (HyperText Markup Language), which is the current standard to publish information on the Internet.
By defining a syntax permitting the creation of markup languages to specify information structures, XML allows one to define their own customized markup language and provides an avenue to overcome limitations of HTML. Information structures define the type of information, for example, subscriber name or address. Using XML, external processes can manipulate these information structures and publish them in a variety of formats.
FIG. 1 shows an overview of the conventional method of editing an XSLT stylesheet. An XSLT stylesheet 10 includes a set of rules that describe how to process elements of an input XML document 11 to transform these elements into XML output document 12. The actual transformation is executed by transformation engine 13, which is typically an XML application that often additionally includes an XML parser 14 (as shown in FIG. 2). Each rule of the stylesheet 10 matches one or more elements in the input document and describes the actions to take and the output to produce when a matching element is found. It should be noted that although FIG. 1 shows the input 11 as being a document, there is no restriction that it be an actual document or file. It could be any source of XML input data, such as a portion of a file or a portion of a database.
A practical example of the scenario of FIG. 1 that demonstrates the potential of XML over HTML would be one in which the input XML document 11 is a catalog or database written in XML of items offered by a manufacturer. Output XML document 12 might be part of the inventory written in XML of a retail operation and that includes at least some of this manufacturer's items in addition to a multitude of other manufacturers' catalog items. The information structure and content in the manufacturer's inventory XML database 11 would likely differ from the information structure and content in the retailer's XML database 12. Stylesheet 10 contains the set of rules appropriate to convert each respective manufacturer's data elements into the format required by the retailer.
The conventional paradigm for editing an XSLT stylesheet typically includes having the user make changes directly to the text in a file containing the XSL stylesheet. The user would then confirm any such changes by executing the transformation defined by the stylesheet, using an XML input document 11 and transformation engine 13, and viewing the resultant output XML document 12. However, creating or changing the rules in an XSLT stylesheet is difficult and complex because the user must understand the relationship between the input document, the stylesheet rules and the output document. Such understanding is often times extremely difficult.